package com.pond.pond.service;

import com.pond.common.core.web.domain.AjaxResult;
import com.pond.pond.domain.FishReturn;
import com.pond.pond.domain.dto.FishReturnRequest;
import com.pond.pond.domain.dto.OrderQueryRequest;
import com.pond.pond.domain.vo.OrderVO;

import java.util.List;

/**
 * 回鱼记录Service接口
 */
public interface IFishReturnService {

    /**
     * 查询回鱼记录列表
     */
    List<FishReturn> selectFishReturnList(FishReturn fishReturn);

    /**
     * 查询订单列表（用于回鱼操作）
     */
    List<OrderVO> selectOrderListForFishReturn(OrderQueryRequest query);

    /**
     * 根据ID查询回鱼记录
     */
    FishReturn selectFishReturnById(Long id);

    /**
     * 根据订单ID查询回鱼记录列表
     */
    List<FishReturn> selectFishReturnByOrderId(Long orderId);

    /**
     * 新增回鱼记录
     */
    AjaxResult insertFishReturn(FishReturnRequest request);

    /**
     * 修改回鱼记录
     */
    AjaxResult updateFishReturn(FishReturn fishReturn);

    /**
     * 删除回鱼记录
     */
    AjaxResult deleteFishReturnById(Long id);

    /**
     * 批量删除回鱼记录
     */
    AjaxResult deleteFishReturnByIds(String ids);

    /**
     * 更新支付状态
     */
    AjaxResult updatePayStatus(Long id, Integer payStatus, Integer payType);

    /**
     * 统计订单回鱼总金额
     */
    java.math.BigDecimal sumAmountByOrderId(Long orderId);
}